package com.maxlen.member.utils;

import java.util.Random;

public class CodeUtils {

    /**
     * 1、定义一个方法返回一个随机验证码  返回值类型 String  形参：int n
     **/
    public static String createCodeString(int n){
//        3、定义一个字符串变量来记录生成的随机字符
        String  code = "";
        Random r = new Random();
//        2、定义一个for循环，循环n次，依次生成随机字符
        for (int i = 0; i < n; i++) {
//            4、生成一个随机字符：英文大写，英文小写，数字 （0  1  2）

//            type表示当前位置要生成的随机字符的类型
            int type = r.nextInt(3);
            switch (type){
                case 0:
//                    大写字符 (A 65  - Z 65+25 ) (0-25) +65
                    char ch = (char)(r.nextInt(26) + 65);
                    code +=ch;
                    break;
                case 1:
//                     小写字符 (a 97  - z 97+25 ) (0-25) +97
                    char ch1 = (char)(r.nextInt(26) +97);
                    code +=ch1;
                    break;
                default:
//                    数字字符  (0-9)
                    code+=r.nextInt(10);
                    break;
            }
        }
        return  code;

    }

    public static String createCodeInt(){
        return String.valueOf((int) ((Math.random() * 9 + 1) * Math.pow(10, 5)));
    }

}
